package com.ruoyi.order.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 订单对象 che_order
 * 
 * @author ruoyi
 * @date 2024-06-04
 */
public class CheOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键,自增 */
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String number;

    /** 门店id */
    @Excel(name = "门店id")
    private Long shopId;

    /** 车辆id */
    @Excel(name = "车辆id")
    private Long carId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 优惠券 */
    @Excel(name = "优惠券")
    private Long couponId;

    /** 总价 */
    @Excel(name = "总价")
    private BigDecimal totalPrice;

    /** 实付价格 */
    @Excel(name = "实付价格")
    private BigDecimal realPrice;

    /** 核销码 */
    @Excel(name = "核销码")
    private String verificationCode;

    /** 核销二维码 */
    @Excel(name = "核销二维码")
    private String qrcode;

    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date subscribeTime;

    /** 核销时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date verificationTime;

    /** 状态（是否评价）待支付、待使用（商家端待服务）、待评价、已取消、已退款、已评价 */
    @Excel(name = "状态", readConverterExp = "是=否评价")
    private String state;

    /** 订单类型 */
    @Excel(name = "订单类型")
    private Long type;

    @Excel(name =  "车辆类型")
    private  String carName;
    @Excel(name =  "车辆型号")
    private  String carType;
    @Excel(name =  "车辆型号ID")
    private  Long carTypeId;
    @Excel(name =  "用户姓名")
    private  String userName;

    @Excel(name = "服务门店")
    private String shopName;

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    private List<CheServiceSort> serviceSorts;

    private List<CheServiceName> cheServiceNames;

    private List<CheOrderServiceItems> cheOrderServiceItems;

    public List<CheServiceSort> getServiceSorts() {
        return serviceSorts;
    }

    public void setServiceSorts(List<CheServiceSort> serviceSorts) {
        this.serviceSorts = serviceSorts;
    }

    public List<CheServiceName> getCheServiceNames() {
        return cheServiceNames;
    }

    public void setCheServiceNames(List<CheServiceName> cheServiceNames) {
        this.cheServiceNames = cheServiceNames;
    }

    public List<CheOrderServiceItems> getCheOrderServiceItems() {
        return cheOrderServiceItems;
    }

    public void setCheOrderServiceItems(List<CheOrderServiceItems> cheOrderServiceItems) {
        this.cheOrderServiceItems = cheOrderServiceItems;
    }

    public Long getCarTypeId() {
        return carTypeId;
    }

    public void setCarTypeId(Long carTypeId) {
        this.carTypeId = carTypeId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getCarName() {
        return carName;
    }

    public void setCarName(String carName) {
        this.carName = carName;
    }

    public String getCarType() {
        return carType;
    }

    public void setCarType(String carType) {
        this.carType = carType;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setNumber(String number) 
    {
        this.number = number;
    }

    public String getNumber() 
    {
        return number;
    }
    public void setShopId(Long shopId) 
    {
        this.shopId = shopId;
    }

    public Long getShopId() 
    {
        return shopId;
    }
    public void setCarId(Long carId) 
    {
        this.carId = carId;
    }

    public Long getCarId() 
    {
        return carId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setCouponId(Long couponId) 
    {
        this.couponId = couponId;
    }

    public Long getCouponId() 
    {
        return couponId;
    }
    public void setTotalPrice(BigDecimal totalPrice) 
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice() 
    {
        return totalPrice;
    }
    public void setRealPrice(BigDecimal realPrice) 
    {
        this.realPrice = realPrice;
    }

    public BigDecimal getRealPrice() 
    {
        return realPrice;
    }
    public void setVerificationCode(String verificationCode) 
    {
        this.verificationCode = verificationCode;
    }

    public String getVerificationCode() 
    {
        return verificationCode;
    }
    public void setQrcode(String qrcode) 
    {
        this.qrcode = qrcode;
    }

    public String getQrcode() 
    {
        return qrcode;
    }
    public void setSubscribeTime(Date subscribeTime) 
    {
        this.subscribeTime = subscribeTime;
    }

    public Date getSubscribeTime() 
    {
        return subscribeTime;
    }
    public void setVerificationTime(Date verificationTime) 
    {
        this.verificationTime = verificationTime;
    }

    public Date getVerificationTime() 
    {
        return verificationTime;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }
    public void setType(Long type) 
    {
        this.type = type;
    }

    public Long getType() 
    {
        return type;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("number", getNumber())
            .append("shopId", getShopId())
            .append("carId", getCarId())
            .append("userId", getUserId())
            .append("couponId", getCouponId())
            .append("remark", getRemark())
            .append("totalPrice", getTotalPrice())
            .append("realPrice", getRealPrice())
            .append("verificationCode", getVerificationCode())
            .append("qrcode", getQrcode())
            .append("subscribeTime", getSubscribeTime())
            .append("createTime", getCreateTime())
            .append("verificationTime", getVerificationTime())
            .append("state", getState())
            .append("type", getType())
            .toString();
    }
}
